Skip to content

Build tests installers; reorg#95

Merged
algobolson merged 13 commits intoalgorand:masterfrom
algobolson:build_tweaks_20190720
Jul 1, 2019
Merged

Build tests installers; reorg#95
algobolson merged 13 commits intoalgorand:masterfrom
algobolson:build_tweaks_20190720

Conversation

@algobolson
Copy link
Copy Markdown
Contributor

Summary

Release build script tests package installers using Docker environments for Ubuntu 16.04, Ubuntu 18.04, and Centos 7.

RPM packaging has been improved by doing everything inside the Docker container in the host Ubuntu build environment. No separate Centos VM is needed.

Test Plan

The main build_release.sh script has been split into three parts so that the third part build_release_upload.sh can be run only during real builds and the other parts can be run many times to test the build process.
build_release_upload.sh is also only the staging upload, actual repo deploys to yum/rpm and apt/deb repos is a further step.
build scripts have been manually tested against current go-algorand/master

Comment thread scripts/build_release.sh
Copy link
Copy Markdown
Contributor

@Karmastic Karmastic left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I blame myself for not writing down all of my requirements and expectations - I know what I want but somehow you can't seem to read my mind. Let me know where my questions need clarification.

Comment thread scripts/build_release.sh Outdated
Comment thread scripts/build_release.sh
# Test .deb installer

# Tag Source
mkdir -p ${HOME}/docker_test_resources
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't want these tests to be part of the build - we need to do more comprehensive tests of the deb and rpm; the build should just generate the binaries / packages and not also do tests.
Please extract the testing process to separate script(s) that can be run manually against the pushed but not promoted packages.

rm -f /dummyrepo/repodata/repomd.xml.asc
gpg -u rpm@algorand.com --detach-sign --armor /dummyrepo/repodata/repomd.xml

OLDRPM=$(ls -t /stuff/*.rpm|head -1)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Likewise, please extract the tests so they can be run independently and as part of a larger suite of verification tests against packages.

# Tag Source
TAG=${BRANCH}-${FULLVERSION}
if [ ! -z "${SIGNING_KEY_ADDR}" ]; then
git tag -s -u "${SIGNING_KEY_ADDR}" ${TAG} -m "Genesis Timestamp: $(cat ./genesistimestamp.dat)"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need to stop using the genesistimestamp for this - the timestamp no longer has real meaning (it's not the actual genesis timestamp - those are essentially hard-coded now for release builds). Maybe the branch or channel and version.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok. should there be any comment at all? output of date -u ?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's fine. Maybe more useful would be capturing some of the environment variables like CHANNEL, DEFAULT_NETWORK, DEFAULT_RELEASE_NETWORK

Comment thread scripts/build_release_upload.sh Outdated
Comment thread scripts/build_release_upload.sh
Comment thread scripts/wait_for_progress.py Outdated
Comment thread scripts/wait_for_progress.py Outdated
make DC_IP externally setable, and exit if not set or found.
`goal node wait` instead of wait_for_progress.py
push only specific tag
Copy link
Copy Markdown
Contributor

@Karmastic Karmastic left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good - I'll be working with it myself once it's checked in

@algobolson algobolson merged commit 951df16 into algorand:master Jul 1, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants